home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / ilisp / ilisp-kcl.el.z / ilisp-kcl.el
Encoding:
Text File  |  1998-05-21  |  3.1 KB  |  103 lines

  1. ;;; -*- Mode: Emacs-Lisp -*-
  2.  
  3. ;;; ilisp-kcl.el --
  4.  
  5. ;;; This file is part of ILISP.
  6. ;;; Version: 5.8
  7. ;;;
  8. ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
  9. ;;;               1993, 1994 Ivan Vasquez
  10. ;;;               1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
  11. ;;;               1996 Marco Antoniotti and Rick Campbell
  12. ;;;
  13. ;;; Other authors' names for which this Copyright notice also holds
  14. ;;; may appear later in this file.
  15. ;;;
  16. ;;; Send mail to 'ilisp-request@naggum.no' to be included in the
  17. ;;; ILISP mailing list. 'ilisp@naggum.no' is the general ILISP
  18. ;;; mailing list were bugs and improvements are discussed.
  19. ;;;
  20. ;;; ILISP is freely redistributable under the terms found in the file
  21. ;;; COPYING.
  22.  
  23.  
  24. ;;;
  25. ;;; ILISP Kyoto Common Lisp dialect definition
  26. ;;;
  27.  
  28. ;;;%%%KCL--these dialects by Tom Emerson
  29. ;;; kcl-check-prompt doesn't after the first break because the
  30. ;;; number of ">" characters doesn't increase.
  31.  
  32. (defun kcl-check-prompt (old new)
  33.   "Compare the break level printed at the beginning of the prompt."
  34.   (let* ((was-in-break (and old (string-match ">+" old)))
  35.       (old-level (if was-in-break
  36.              (- (match-end 0) (match-beginning 0))
  37.              0))
  38.       (is-in-break (string-match ">+" new))
  39.       (new-level (if is-in-break
  40.              (- (match-end 0) (match-beginning 0))
  41.              0)))
  42.     (<= new-level old-level)))
  43.  
  44. ;;;
  45. (defdialect kcl "Kyoto Common LISP" clisp
  46.   (setq comint-prompt-regexp "^>+"
  47.         ilisp-error-regexp "Error: [^\n]*"
  48.         ilisp-binary-extension "o"
  49.         ilisp-init-binary-extension "o"
  50.     ilisp-binary-command "\"o\""
  51.         comint-fix-error ":q"
  52.         comint-continue ":r"
  53.     comint-prompt-status
  54.     (function
  55.      (lambda (old line)
  56.        (comint-prompt-status old line 'kcl-check-prompt)))))
  57. (if (not kcl-program) (setq kcl-program "kcl"))
  58.  
  59. ;;;%%%AKCL
  60. (defdialect akcl "Austin Kyoto Common LISP" kcl)
  61. (if (not akcl-program) (setq akcl-program "akcl"))
  62.  
  63.  
  64. ;;;%%%IBCL
  65. (defdialect ibcl "Ibuki Common LISP" kcl
  66.   (setq comint-prompt-regexp "^[-A-Z]*>+\\|^[-A-Z]* ->"
  67.         comint-interrupt-regexp ">>Condition: Terminal Interrupt"
  68.         comint-continue ":q"
  69.         ilisp-reset ":q!"
  70.         ilisp-error-regexp ">>Error:[^\n]*"))
  71. (if (not ibcl-program) (setq ibcl-program "ibcl"))
  72.  
  73.  
  74. ;;; GCL and ECL (at least) have slightly different compilers and
  75. ;;; runtimes, hence we need to provide different extensions for their
  76. ;;; init files.
  77. ;;; Marco Antoniotti <marcoxa@icsi.berkeley.edu> 19951028.
  78.  
  79. ;;; GCL -- I assume it is exactly as AKCL.
  80. ;;; Should check whether it is similar to IBUKI.
  81. (defdialect gcl "GNU Common LISP" akcl
  82.   (setq comint-prompt-regexp "^>+"
  83.     ilisp-binary-extension "o"
  84.         ilisp-init-binary-extension "gcl.o"
  85.     ilisp-binary-command "\"o\""
  86.     ilisp-init-binary-command "\"gcl.o\""
  87.     ))
  88. (if (not gcl-program) (setq gcl-program "gcl"))
  89.  
  90.  
  91. ;;; ECL -- Beppe Attardi's developments over AKCL
  92.  
  93. (defdialect ecl "EcoLisp Common LISP" akcl
  94.   (setq comint-prompt-regexp "^>+"
  95.     ilisp-binary-extension "o"
  96.         ilisp-init-binary-extension "ecl.o"
  97.     ilisp-binary-command "\"o\""
  98.     ilisp-init-binary-command "\"ecl.o\""
  99.     ))
  100. (if (not ecl-program) (setq ecl-program "ecl"))
  101.  
  102. ;;; end of file -- ilisp-kcl.el --
  103.